﻿using System.Collections.Generic;
using System.Windows.Controls;
using personalplaner.business.enums;
using System.Windows;
//using personalplaner.common.controls;

namespace personalplaner.business
{
	/// <summary>
	/// Interface that is implemented by the MainWindow to enable displaying items in the main window
	/// </summary>
	public interface IMainWindowDisplayContainer
	{
		void AddMenuContentItem(enDisplayItemType key, UserControl ctrl, bool overwrite = false);

		//void AddSimpleContentItem(enDisplayItemType key, UserControl ctrl, bool overwrite = false);
		void AddSimpleContentItem(enDisplayItemType key, FrameworkElement ctrl, bool overwrite = false);
		
		bool ContainesItem(enDisplayItemType key);

		/// <summary>
		/// selects the item that is associated with the key
		/// </summary>
		/// <param name="key">key of the item to be selected</param>
		/// <param name="silent">if false the last item will be added to the history of controls for moving backwards</param>
		void SelectItem(enDisplayItemType key, bool silent = false);

		void MoveToPreviousView(/*bool removeView = false*/);

		//Dictionary<enDisplayItemType, UserControl> Items { get; }
		Dictionary<enDisplayItemType, FrameworkElement> Items { get; }
		
        //ControlContainer SelectedItem { get; set; }

        /// <summary>
        /// Gets or sets if the waitanimation is visible
        /// </summary>
        bool IsWaitVisible { get; set; }
	}
}
